package top.codechap.ioc.framework.beans.factory.support;


import top.codechap.ioc.framework.beans.BeanDefinition;

/**
 * 注册表对象
 */
public interface BeanDefinitionRegistry {

    //注册BeanDefinition对象到注册表中
    void registryBeanDefinition(String beanName, BeanDefinition beanDefinition);

    //从注册表中删除指定名称的BeanDefinition对象
    void removeBeanDefinition(String beanName) throws Exception;

    //根据名称从注册表中获取BeanDefinition的对象
    BeanDefinition getBeanDefinition(String beanName) throws Exception;

    //注册表中是否包含指定名称的BeanDefinition对象
    boolean containsBeanDefinition(String beanName);

    //获取注册表中全部BeanDefinition的个数
    int getBeanDefinitionCount();

    //获取注册表中全部BeanDefinition的名称
    String[] getBeanDefinitionName();
}
